package exception;
//本类是用来测试try...catch...的演示demo
public class TryCatchDemo {
    /**
     * try..catch执行流程
     * 1.当程序执行到try中的代码时，如果代码执行过程中出现了异常，那么try中的代码就会停止执行，
     * 会被抛出一个异常对象，并且会在底层记录该异常对象。
     * 2.当java运行时系统接收到了此异常时，会让其catch得里的异常和底层记录的异常进行对比，
     * 如果异常对象是catch中定义的异常类型，那么就会执行catch中的代码。
     * 3.执行完毕之后 程序还会执行try..catch代码之后的内容
     */
    public static void main(String[] args) {
        System.out.println("程序开始执行了");
        try {
            String str = null;
            String str1 = "abc";
            System.out.println(str.length());
            System.out.println(str1.charAt(2));
        }catch(NullPointerException e){
            System.out.println("出现了空指针异常");
        }catch (StringIndexOutOfBoundsException e){
            System.out.println("出现了字符串索引越界异常");
        }

        System.out.println("程序结束了");

    }
}
